package com.ynet.middleground.user.bean;

import javax.validation.constraints.NotNull;

import com.ynet.core.common.BaseReqObjPager;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liulx
 * @description 软硬证书混合查询请求对象
 * @date 2020-01-06 15:40
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "证书混合查询请求对象", description = "软证书（esign）、硬证书（cfca）综合查询请求对象")
public class CertMixQueryReqPager extends BaseReqObjPager {
    private static final long serialVersionUID = -904057923802841199L;

    @ApiModelProperty(value = "企业id", notes = "企业id", dataType = "Integer")
    private Integer userId;

    @ApiModelProperty(value = "证书类型\n0:CFCA\n1:Esign", notes = "证书类型", dataType = "Integer", required = true)
    @NotNull(message = "证书类型不能为空")
    private Integer certType;

    /**
     * CFCA 参数
     */
    @ApiModelProperty(value = "uKey编号", notes = "uKey编号", dataType = "String")
    private String uKeyId;

    @ApiModelProperty(value = "DN号", notes = "DN号", dataType = "String")
    private String dn;

    @ApiModelProperty(value = "序列号", notes = "序列号", dataType = "String")
    private String serialNo;

    @ApiModelProperty(value = "证书有效开始日期(cfca)", notes = "证书有效开始日期（区间）", dataType = "String")
    private String startTime;

    @ApiModelProperty(value = "证书有效结束日期(cfca)", notes = "证书有效结束日期（区间）", dataType = "String")
    private String endTime;

    @ApiModelProperty(value = "所属人名称(证书的所属人名称)", notes = "所属人名称(证书的所属人名称)", dataType = "String")
    private String name;

    @ApiModelProperty(value = "账号唯一标识(E签宝)", notes = "账号唯一标识(E签宝)", dataType = "String")
    private String accountUid;
}
